<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>bddoc</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}
div#notebook {
  overflow: visible;
  border-top: none;
}@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
</style>

<!-- Custom stylesheet, it must be in the parent directory as the html file -->
<link rel="stylesheet" type="text/css" media="all" href="../doc.css" />
<link rel="stylesheet" type="text/css" media="all" href="doc.css" />

<!-- Loading mathjax macro -->
<!-- Load mathjax -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });
    </script>
    <!-- End of mathjax configuration --></head>
<body>
  <div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Data-Structure:-Boundary-Conditions">Data Structure: Boundary Conditions<a class="anchor-link" href="#Data-Structure:-Boundary-Conditions">&#182;</a></h1>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>We use <code>bdFlag(1:NT,1:3)</code> to record the type of three edges of each
triangle. Similarly in 3-D, we use <code>bdFlag(1:NT,1:4)</code> to record the type
of four faces of each tetrahedron. The value is the type of boundary
condition.</p>
<ul>
<li>0: non-boundary, i.e., an interior edge or face.</li>
<li>1: first type, i.e., a Dirichlet boundary edge or face. </li>
<li>2: second type, i.e., a Neumann boundary edge or face. </li>
<li>3: third type, i.e., a Robin boundary edge or face.</li>
</ul>
<p>For a boundary edge/face, the type is 0 means homogenous Neumann boundary condition (zero
flux).</p>
<p>The function <code>setboundary</code> is to set up the bdFlag matrix for a 2-D
triangulation and <code>setboundary3</code> for a 3-D triangulation. Examples</p>
<ul>
<li><p><code>bdFlag = setboundary(node,elem,'Dirichlet','abs(x) + abs(y) == 1','Neumann','y==0');</code></p>
</li>
<li><p><code>bdFlag = setboundary3(node,elem,'Dirichlet','(z==1) | (z==-1)');</code></p>
</li>
</ul>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Local-labeling-of-edges-and-faces">Local labeling of edges and faces<a class="anchor-link" href="#Local-labeling-of-edges-and-faces">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>We label three edges of a triangle such that <code>bdFlag(t,i)</code> is the edge
opposite to the i-th vertex. Similarly <code>bdFlag(t,i)</code> is the face opposite
to the i-th vertex.</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[1]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-matlab"><pre><span></span><span class="n">node</span> <span class="p">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">;</span> <span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">;</span> <span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">];</span>
<span class="n">elem</span> <span class="p">=</span> <span class="p">[</span><span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span><span class="p">];</span>
<span class="n">locEdge</span> <span class="p">=</span> <span class="p">[</span><span class="mi">2</span> <span class="mi">3</span><span class="p">;</span> <span class="mi">3</span> <span class="mi">1</span><span class="p">;</span> <span class="mi">1</span> <span class="mi">2</span><span class="p">];</span>
<span class="n">showmesh</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span>
<span class="n">findnode</span><span class="p">(</span><span class="n">node</span><span class="p">);</span>
<span class="n">findedge</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">locEdge</span><span class="p">,</span><span class="s">&#39;all&#39;</span><span class="p">,</span><span class="s">&#39;vec&#39;</span><span class="p">);</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
B3RJTUUH4gkHFDg1XZw5lQAAACR0RVh0U29mdHdhcmUATUFUTEFCLCBUaGUgTWF0aFdvcmtzLCBJ
bmMuPFjdGAAAACJ0RVh0Q3JlYXRpb24gVGltZQAwNy1TZXAtMjAxOCAxMzo1Njo1M9x934cAAB1u
SURBVHic7d1xeBT1mcDxNyFKQAkLAUuQ6MRi4IhnU6NAotfseu1Re3BHreXxfK6yaYv2OZ9Wwbtr
z95jNlf7VM+CPp7tqfVKuDuKpN41V9OKXmkm9dwoENlackhAM7BAekrIJgJJhGTvj8EYkuxmN9nd
+c3M9/OHT3Z3ss/7PCP57sxvdjcrGo0KAABWy7Z6AAAARAgSAEARBAkAoASCBABQAkECACiBIAEA
lECQAABKIEgAACUQJACAEggSAEAJBAkAoASCBABQAkECACiBIAEAlECQAABKIEgAACUQJACAEggS
AEAJOVYPAAAucujQoWAweODAgcLCwptvvrm4uNjqiRRCkAAgE6LR6Pe+970HH3xwYGDAvGfKlClf
//rXH3vsMWsHUwen7AAgE5599tlvf/vbAwMDubm5ixcvFpGBgYHHH39806ZNVo+miqxoNGr1DADg
cOfOndM07dixYwsWLNi1a1dBQUFLS8vSpUsHBwcXLlx48OBBqwdUAkdIAJB2R44cOXbsmIjcfffd
BQUFIlJWVnbzzTeLyKFDh86cOWPxfGpgDQkA0q6rq6u0tFREysvLh+7s7u4WkTlz5kyfPt2yyVRC
kAAg7crKyvbu3Tv8nmeffXb37t0isnLlSouGUg6n7AAgZQzDqKqqysrKKioqKioqqqmpGb1NX1/f
hg0b1q1bJyJFRUXf//73Mz6morioAQBSQ9d1n8834k5N09rb24duhkKhO+64Y//+/SLi8/m2b98+
d+7cjE6pMI6QACA1RtdIPjxmMn/eunXrsmXL9u/fn5ub+8QTT+zcuZMaDccaEgCkwFB1RtN1XUS2
bdv2pS99KRqNXnHFFb/85S9LSkoyN5xNECQASC/DMBoaGu69995oNJqdnX3PPfe0tbW1tbUNbfDp
T396xowZFk6oCIIEAClgGEacR99+++333ntPRAYHB7/5zW+OeLS1tXXJkiXpm80uWEMCgBTwer1x
HjVrhPi4yg4AUsAwjKKiojEfCgQC1dXVGZ7HjggSAKSGz+czr18YbsRl34iDU3YAkAI+n8+zOve+
19eVrinxFOaJiKZpgUCAGiWOIyQAmCyzRqVrzl/JbQTDxpPvNjY2WjuV7XCEBACTMqJGmDCCBAAT
R41SiCABwARRo9QiSAAwEdQo5QgSACSNGqUDQQKA5FCjNCFIAJAEapQ+BAkAEkWN0oogAUBCqFG6
ESQAGB81ygCCBADjoEaZQZAAIB5qlDEECQBiokaZRJAAYGzUKMMIEgCMgRplHkECgJGokSUIEgBc
gBpZhSABwEeokYUIEgCcR42sRZAAQIQaKYAgAQA1UgJBAuB21EgRBAmAq1EjdRAkAO5FjZRCkAC4
FDVSDUEC4EbUSEEECYDrUCM1ESQA7kKNlEWQALgINVIZQQLgFtRIcQQJgCtQI/URJADOR41sgSAB
cDhqZBcECYCTUSMbIUgAHIsa2QtBAuBM1Mh2CBIAB6JGdkSQADgNNbIpggTAUaiRfREkAM5BjWyN
IAFwCGpkdwQJgBNQIwcgSABsjxo5A0ECYG/UyDEIEgAbo0ZOQpAA2BU1chiCBMCWqJHzECQA9kON
HIkgAbAZauRUBAmAnVAjByNIAGyDGjkbQQJgD9TI8QgSABugRm5AkACojhq5BEECoDRq5B4ECYC6
qJGrECQAiqJGbkOQAKiIGrkQQQKgHGrkTgQJgFqokWsRJAAKoUZuRpAAqIIauRxBAqAEagSCBMB6
1AhCkABYjhrBRJAAWIkaYQhBAmAZaoThCBIAa1AjjECQAFiAGmE0ggQg06gRxkSQAGQUNUIsBAlA
5lAjxEGQAGQINUJ8BAlAJriqRpGeabJkhdVT2A9BApB2rqqREZ5dv+9OPXdpzUvtVs9iMwQJQHq5
qkYiUv/iJ8wfAi+36293WTuMvRAkAGnkthqJeb7uQ1t2/97CSWyHIAFIFxfWKLRvwfCbHCElhSAB
SAsX1khEjPDsC26e7DNO9lk1jO0QJACp584aiYgRzh95T1evJZPYEUECkGKurZFcuIBkYhkpcQQJ
QCq5uUYjFpBMLCMljiABSBk310hGLSCdv5NlpIQRJACp4fIayVgLSOfvZxkpMQQJQApQIxlrAcnE
MlKCCBKAyaJGEmMBycQyUoIIEoBJoUamMReQzj/EMlJiCBKAiaNGQ2ItIJ1/lGWkBBAkABNEjYaL
tYBkYhkpEQQJwERQo+HiLCCZWEZKBEECkDRqNEKcBaTzG7CMlACCBCA51Gi0+AtI57dhGWk8WdFo
1OoZANgGNRpTpHuaiBjh/FDr5TKsT/4bCrRZuSJSvaLIwvHsgiABSBQ1SkTt9mVDQWr8q096Pz7L
2nlshFN2ABJCjZBuBAnA+KgRMoAgARgHNUJmECQA8VAjZAxBAhATNUImESQAY6NGyDCCBGAM1AiZ
R5AAjESNYAmCBOAC1AhWIUgAPkKNYCGCBOA8agRrESQAItQICiBIAKgRlECQALejRlAEQQJcjRpB
HQQJcC9qBKUQJMClqBFUQ5AAN6JGUBBBAlyHGkFNBAlwF2oEZREkwEWoEVRGkAC3oEZQHEECXIEa
QX0ECXA+agRbIEiAw1Ej2AVBApyMGsFGCBLgWNQI9kKQAGeiRrAdggQ4EDWCHREkwGmoEWyKIAGO
Qo1gXwQJcA5qBFsjSIBDUCPYHUECnIAawQEIEmB71AjOQJAAe6NGcAyCBNgYNYKTECTArqgRHIYg
AbZEjeA8BAmwH2oERyJIgM1QIzgVQQLshBrBwQgSYBvUCM5GkAB7oEZwPIIE2AA1ghsQJEB11Agu
QZAApVEjuAdBAtRFjeAqBAlQFDWC2xAkQEXUCC5EkADlUCO4E0EC1EKN4FoECVAINYKbESRAFdQI
Lpdj9QCA0xiGoev64cOHdV3XNK2ystLv94/7W9TIGSLhnkjzKxLulvBvZea8pgWrveu/ZvVQtpEV
jUatngFwAsMwtmzZouu6rusiku8pKNbKOiMdbUaLiGia5vV6165d6/V6R/8uNbK7SLgnVLfPCB41
msOS5N7HEIIETJau61VVVYZh5HsKyktXicgq711Dj3ZGjrcZbxww9ph/njRNq66uHn7MRI1szQiG
69fviIR7Jrb3MRxBAiZF13Wfz7fSe1dF6cp8z/z4G3dGjgdDDfuMl/1+f3V1tVAjmzOC4drb6ia8
9zECQQImzqzR/f6ni7WyxH+rOdSgh2r9fr+u69TIvswaTXjv06TRpgQCAatnAGxpYjUSkcJ5xTky
/fGnAlIw8Nl/8KVpPKTVxGokH+79+h213d3dLCmNQJCAiZhwjUyF84rneOaHDuh9Pf1aRWHKx0Na
TbhGJpoUC0ECkjbJGpkK5xVfmp2v/+rnuTNz55VclsLxkFaTrJFpqEkej6e0tDSF49kaa0hA0rKy
svyrA+WlKyf/VM2hhvqWTfe9vm7yT4XMCMzfmMK9r4dq29vbJ/9UzsAnNQDJqa2tFZFi7bpENv7Z
r5585F++bBxrjbVBsXZdJNxjBMOpGg9pFaprlbh7f3Bw4MVXfhz4wZqvf/emwA/W7HztJ4ODg7E2
LtauM99GnY5R7YggAclpamoSkXGv8RUR41jrzte3vRN+s7fvVKxt8j3zi7Uy892UUJ/50iHO3t/a
8L36nT/seO+dwehgx3vv1O3Y9NyL/xhrY3Pvm/9HQQgSkCxd18c9XbPztZ88tf1vH/3xV8+e7R/3
CfM9BebrbqjPaA7H2fvvnTz66t7/EpEv3/qdJ/7uN1/4k3tF5JWWn/V/0BvrV/I9BeYxN4QgAcky
DGORdn38bYKhhr37f31u4GwiT1hRuioS7knFaEi7SLgnzt43jv9vNBqdO3vBsmtvmTIl51Nlt4rI
4OBAb3/MQ+SK0lWGYaRjVDviw1WBJCS4gPTFFevN03RPbf+bcZ8z31MgIkYwzPXfiht3Aen6az5T
tuTTWVkyODhwurf7168/JyKXf2yhZ8bcWL9i7n1d17n+WwgSkJSmpqZirWzcBaTFRTck/pzmQkKo
rpUgKc4IhuPv/SzJysrOEpHd+3b8y3/8vYjMmvmx9Xf+c5znNPf+li1bCJJwyg5IivkJqil/2nxP
AWft1Gd+gmoiW86eOa9kYcX03Bld3f/3o+f/rq//TJyN8z0FnLUzESQgCZqmmV8okFptRounMC/l
T4vU8hTmxd/7AwPnzp37YHBwcOEVpd/4yyeq76m76KKpB9r37Dv0apzfMj8FPMWz2hNBApKwdu3a
zkhHyp+2M9LB+Tr1la4pib/3//Xn37nnoYr6X//AvOmZMTd/ZoGIxHkjmoh0RjoqKytTOKd9ESQg
CeYr2dQeJDWHGkREKydIqvMUzpS4e3/eHE1E9uz7b/OSlnDHgd+fMESkYO5VsX7F3PssIJm4qAFI
gvnVn8HQC5P5HLMRDhh7SteUcMpOfZ7CPK28MM7e/6Oyz/+qeWtn5Hj1D277WP6Vh46ERGTOrPmf
XOyN9ZwHjD1+v59TdiaOkIDkeL3e1B4hpWNRCmmiVSyIs78une6590tPFi24pvv9E21Gy+DgwDVX
V3zjL5+cPi3mqw32/nAcIQHJqaysDAQCbUZLIgdJTwf2jLtNZ6Rj1Zo/SsVoSDutvFDf2Bxn719R
sPhbX63t7TvV1fNuvmfe1Iunx3/CzkjH2rVr0zCpLXGEBCRH0zRN04KhF1LybOcXkLiiwSY8hTM9
hXnj7v1puZfOv+yqcWvEAtIIfB8SkByPx+PxeLZt//czfacWTW4lqc1o+efn/tr//BpztRzqy505
NXdm7t76vana+42NjSwgDSFIQNJKS0t7p17yH9t/NJm/Sm1Gy8bau/3Pr+HwyF7mlVw2dW72q8/9
ZvJ7v7GxkcOj4QgSkDTjZN/nf3Gm9+JLOlt+OrG/StTI1ibZJGoUC0ECkmOc7Cv6blBE5LKFE2sS
NXKACTeJGsXBVXZAEj6qkalkxYzCk83PvyAii7Syca+764wcD4YaGvRnqJEDlK4pEZFXAknvfWoU
S1Y0GrV6BsAeRtZIpLTk6Opb3jSC4fr1O8xP3izWyhZp1w//DrfOyPE2440TkeMN+jPmPfe9vo63
wTpGsnu/vb2dqxhiIUhAQmLVyPw5Eu6JhLuN5rARPGp+H7n556kz0mG+89FTmFe6pkQrL+TAyHnG
3fuapvn9/srKSg6M4iNIwPji12iESLjHaA4bwbCImEdC3vsrMjAkVDC090N1reYKfXV1tdVD2QZB
AsaRVI0AETGCYePJdxsbG60exGb4pAYgHmoEZAxBAmKiRkAmESRgbNQIyDCCBIyBGgGZR5CAkagR
YAmCBFyAGgFWIUjAR6gRYCGCBJxHjQBrESRAhBoBCiBIADUClECQ4HbUCFAEQYKrUSNAHQQJ7kWN
AKUQJLgUNQJUQ5DgRtQIUBBBgutQI0BNBAnuQo0AZREkuAg1AlRGkOAW1AhQHEGCK1AjQH0ECc5H
jQBbIEhwOGoE2AVBgpNRI8BGCBIcixoB9kKQ4EzUCLAdggQHokaAHREkOA01AmyKIMFRqBFgXwQJ
zkGNAFsjSHAIagTYHUGCE1AjwAEIEmyPGgHOQJBgb9QIcAyCBBujRoCTECTYFTUCHIYgwZaoEeA8
BAn2Q40ARyJIsBlqBDgVQYKdUCPAwQgSbIMaAc5GkGAP1AhwPIIEG6BGgBsQJKiOGgEuQZCgNGoE
uAdBgrqoEeAqBAmKokaA2xAkqIgaAS5EkKAcagS4E0GCWqgR4FoECQqhRoCbESSoghoBLkeQoARq
BIAgwXrUCIAQJFiOGgEwESRYiRoBGEKQkDm1uzuG36RGAIYjSMiQmpfaq57bX/TdoP52l1AjAKMQ
JGSCcbIv8HK7+YPvh3trd3dQIwAjECRkQtVz/3vhzf3Db1IjAEKQkAG1uzv0tyOxHqVGAEwECWlX
83J7rIe0wk5qBMBEkJBeNS+1Gyf7Yj1qhPND+xZkch4AyiJISKOhaxni0INXZ2YYAIojSEijEdcy
jCnSM63+xWszMAwAxREkpEv8axmGePJ6S685moF5ACgux+oB4FhxrmUY4q046K04mIFhAKiPICEt
4l/LIOb1dZ990zOzN2MjAVAcQULqxb+WwZPX6604yGk6ACMQJKRenGsZOEcHIBaChBSLdS0D5+gA
xEeQkGJbLvyOCeEcHYDEECSkF+foACSIICHVWl+W3KXCOToASSJISCWfz+dZnRtYcyLSPY0UAUgK
n9SAlDFrVLqmRESoEYBkESSkxvAaAcAEECSkADUCMHkECZNFjQCkBEHCpFAjAKlCkDBx1AhAChEk
TBA1ApBaBAkTQY0ApBxBQtKoEYB0IEhIDjUCkCYECUmgRgDShyAhUdQIQFoRJCSEGgFIN4KE8VEj
ABlAkDAOagQgMwgS4qFGADKGICEmagQgkwgSxkaNAGQYQcIYqBGAzCNIGIkaAbAEQcIFqBEAqxAk
fIQaAbAQQcJ51AiAtQgSRKgRAAUQJFAjAEogSG5HjQAogiC5GjUCoA6C5F7UCIBSCJJLUSMAqiFI
bkSNACiIILkONQKgJoLkLtQIgLIIkotQIwAqI0huQY0AKI4guQI1AqA+guR81AiALRAkh6NGAOyC
IDkZNQJgIwTJsagRAHshSM5EjQDYDkFyIGoEwI4IktNQIwA2RZAchRoBsC+C5BzUCICtESSHoEYA
7I4gOQE1AuAABMn2qBEAZyBI9kaNADgGQbIxagTASQiSXVEjAA5DkGyJGgFwHoJkP9QIgCMRJJuh
RgCciiDZCTUC4GAEyTaoEQBnI0j2QI0AOB5BsgFqBMANCJLqqBEAlyBISqNGANyDIKmLGgFwFYKk
KGoEwG0IkoqoEQAXIkjKoUYA3CnH6gFwAWrkAJFwj9EcjoS7jeBRT2GeVlHIDgUSQZAUQo1sLRLu
CdXtM4JHjeawiOR7Coq1ss5dHfV1O+rv2+EpzNPKC0vXlGgVhVZPCiiKIKmCGtmXEQzXr98RCffk
ewrKS1dd45VV3ruGHu2MHG8z3jhg7Onc1VFbV+cpzPPeX8GOBkYjSEqgRvZlBMO1t9Wt9N5V8YWV
+Z75ozfI98wvL51fXrpSRDojx4OhBn3jc5Fwt/f+iowPCyiNIFlp165dr7322qZNm/Ir8pat+JTV
4yBpZo3u9z9drJUlsn2+Z/4q711zPPPr6zaJCE1yrWAwePLkySVLllx11VVWz6IQgmSN3t7edevW
bd261bx5+LC0Nhy45Ts3c5BkI8nWaIh5tESTXOv06dMrVqw4derUxo0bN2zYYPU4CuGyb2tUV1eb
NcrJzbli6eXZU7L63//g5/e/dGTXMatHQ0ImXCNTeenK1WUbQnWt+sZgymeDyrq6um6//fZTp05Z
PYiKOEKywOnTpx977DERmXt1/ld/ccfUSy9ufzW85Yt1gwPR1p8fuGLp5VYPiHFMskamoeMkT+FM
jozd4Omnn962bdtrr73W399v9SyK4gjJAr/97W/PnTsnIuVfK5t66cUiUnRj4fRZ00Tkg9NnLR4O
Cai9rc6/OjCZGpnM4yQOklxi7969TU1N1CgOjpAs8MADD6x69DOfuG1JzsU5IjJwdjC0fd+Zrl4R
WejTrJ0N4wrVtYpIsXZdSp6tWLsuUt9jBMM2en+SEZ4tIlrhSasHsRm/319eXi4ib7311sMPP2z1
OCoiSOllGIZhGJqmaZpm3uPz+WZ9ftrQKZr/2vDS73721rn+c9k52ase/UzJny2ybFYkxgia73sd
4wrv4ZpDDb9p+c/j7x6accnsTy72fe5TX5mWe+nozfI984u1MqPZTkGqf/ETkZ5pnrxerbBTKzzp
mXmGOI0QOdoz+s7ly5cvX75cRHRdJ0hjIkjpYhiGz+czDMO8qWna5s2ba2pqRrzf6OyZs+f6z4nI
4LnB3/3nW1csvTy/aJYlAyNBRnPYXP6J48VXfly/84fmz339Z14O/lv7sdYNa5/Kzh7jJHm+pyBU
9xsbXW4X6Zlm/jfUuiDUukBEiNMQfWNQ39hs/pyVleX3+6urq4dejyI+1pDSQtf1oqKioRrJh32K
XPbeiOXr255a+cChb9z65Odypua888rh+m/syPSsSFIk3LNIuz7OBqd7e3b8T62IrPLe9fi39Ntv
+RsROXj4jQPtu8fcvqJ0VSQ8xgtqNYX2LRh9pxmn+h3X1m5f/vgzvvoXrw3tW2Ce2XOV4TUy1dbW
Dn9hivg4QkqLqqqqMe83P+Xsdz/bH95zfMrFU1ZUe0Xk4ukXXXvrH+yrf6vtV+8cfeP4+/93esbH
LsnktEhcIgtIRzre6us/c8m0vM996ivZ2VO8y9a89OqWrp53j7176A8+vmz09vmeAhEJ7TjhKSlO
09gpZB4exd9g9JGTVtjpmdmbkQEtYwTDI2p0/n7DqKqqamxszPxItkOQUq+2tjbWC6JIuMcIhruO
9OzaHBKR6+/8xNAJup7j74tINCpZ2VmZmhRJM4LhYq0s/gJSlsg1V1fMnV2YnT1FRAYHBvrP9omI
Z8bcMbc3l5HqN/5eVtyZjpktNBQnT17vfXc5/C+y+WJlTLqum2vJGRzHlghS6h0+fDjOo/Xrd+Tm
TTV//tEtW+csnJ01JevUu6e7DneLyEW5Oc9/rSETU2JCEllAWnzV0sVXLTV/jkq0bsfGM70903Nn
LCq6Idav5HsK5EQ4lYMqJtIz7fEHZ3lan7Z6kDSKHO2O8yhBSgRBSr0rr7wyzqP3fWVDZWXlQw89
tHPnzr6e/qNvdGRlZUWjURHJycn5/iMbr7322kxNiqRt2bLlhfqXEtz4/dNdtfWBfQdfzZly0Z1/
/uCMS2JertJmtMjlDt/vj93+p9qUG62eIo1qamr0sB7rUWqUCIKUel6vN86ja9eu1TStoqLi0Ucf
feSRR95//32zRjfeeOPDDz980003ZWhKTFRtbW0im70TfvPpn34r0vPurLzLvvKFh66+Mt6yU2ek
Q7tlnfZxT2pGTDOjq8842Zf49trs3Oo/KfLfUJC+kVRgGIau67EeJUiJOP/aHKlVVVU15p8tv9+/
efPmoZvRaPTIkSMnTpxYuHDhzJkzMzcfJsowjKKionE/NOhA+54nf3LfB2f7rrm64su3PnTJtLw4
GzeHGmrrA+3t7bb4m1XzUnvg5fZxN9Nm53o/Pkublbv2hgJtdm4GBrOcefHCmE3avHmz3+/P9EA2
RJDSwjCMmpqaEU3yer1caeMAPp+vP3Kpf3Ug1gb9H/T+/ROre051/mHxTX91+6Yx33s0XG19YFHp
nOGvVFSmv93l++HeMR9yYYRGGPHuQ1MgEKiurrZoIpvhlF1amG+DraysbGpqMhczKysreYnkDF6v
958ej7c4//qbL/ac6hSRfQeD9zy0fOj+m5f9xRdXrB+9fZvRsqh0RcrnTBNt1gWXfROh4TRNa2xs
1HXd/Ifv9XrNU/RWz2UbHCEBydF13efzxTlrt+0Xj+i7fzr6/j9efseaz47x5Td3B65vbGyMv/So
lKrn9osIEULKESQgOeZpmQLPNXHO2iXOXEDinyEgfHQQkCxN06qrq9uMlhf0Zyb5VG1GS219gJVF
wMQaEpA0cznwr9c/ICKrvHdN7EnajJaNtXfb62QdkFYECZiISTaJGgGjESRggibcJGoEjIkgARM3
vEmLtLJxv9S8M3I8GGpo0J+hRsBoXGUHTJau61VVVYZh5HsKirWyRdr1wz+AtTNyvM1440TkeMOH
F0HY5UMZgAwjSEAKmN9V39TUpOu6+eExZpw6Ix1tRouIaJrm9/srKys5MAJiIUhAipkfstnU1CQf
fqQmnxwDJIIgAQCUwBtjAQBKIEgAACUQJACAEggSAEAJBAkAoASCBABQAkECACiBIAEAlECQAABK
IEgAACUQJACAEggSAEAJBAkAoASCBABQAkECACiBIAEAlECQAABKIEgAACUQJACAEggSAEAJBAkA
oASCBABQAkECACiBIAEAlECQAABKIEgAACUQJACAEggSAEAJBAkAoASCBABQAkECACiBIAEAlECQ
AABKIEgAACX8P8vSWZIifnThAAAAAElFTkSuQmCC
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>The ordering of edges is specified by <code>locEdge</code>. If we use <code>locEdge = [2 3; 1 3; 1 2]</code>, we get asecond orientation of edges.</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Extract-Boundary-Edges-and-Faces">Extract Boundary Edges and Faces<a class="anchor-link" href="#Extract-Boundary-Edges-and-Faces">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>We may extract boundary edges for a 2-D triangulation from <code>bdFlag</code> from the following code. If <code>elem</code> is sorted counterclockwise, the boundary edges inherits the orientation. See also <code>findboundary</code> and <code>findboundary3</code>.</p>

</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-matlab"><pre><span></span><span class="n">help</span> <span class="n">findboundary</span><span class="p">;</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>  FINDBOUNDARY finds the boundary of a mesh
 
  [bdNode,bdEdge,isBdNode] = FINDBOUNDARY(elem) finds boundary nodes and
  edges for a 2-dimensional mesh. Only the topological structure of the
  mesh is needed. Note that the boundary edges may not be orientated
  counterclockwise.
  
  [bdNode,bdEdge,isBdNode] = FINDBOUNDARY(elem,bdFlag) finds Dirichlet
  boundary nodes and Neumann edges. The boundary edges found using bdFlag
  is counterclockwise.
  
  See also findboundary3, setboundary
 
  Copyright (C) Long Chen. See COPYRIGHT.txt for details.

</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[2]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-matlab"><pre><span></span><span class="p">[</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">]</span> <span class="p">=</span> <span class="n">squaremesh</span><span class="p">([</span><span class="mi">0</span> <span class="mi">1</span> <span class="mi">0</span> <span class="mi">1</span><span class="p">],</span> <span class="mf">0.25</span><span class="p">);</span>
<span class="n">showmesh</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span> <span class="n">hold</span> <span class="n">on</span><span class="p">;</span>
<span class="n">bdFlag</span> <span class="p">=</span> <span class="n">setboundary</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">,</span><span class="s">&#39;Dirichlet&#39;</span><span class="p">,</span><span class="s">&#39;x == 0 | x ==1&#39;</span><span class="p">,</span><span class="s">&#39;Neumann&#39;</span><span class="p">,</span><span class="s">&#39;y==0&#39;</span><span class="p">);</span>
<span class="n">totalEdge</span> <span class="p">=</span> <span class="p">[</span><span class="n">elem</span><span class="p">(:,[</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]);</span> <span class="n">elem</span><span class="p">(:,[</span><span class="mi">3</span><span class="p">,</span><span class="mi">1</span><span class="p">]);</span> <span class="n">elem</span><span class="p">(:,[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">])];</span>
<span class="n">Dirichlet</span> <span class="p">=</span> <span class="n">totalEdge</span><span class="p">(</span><span class="n">bdFlag</span><span class="p">(:)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,:);</span>
<span class="n">findedge</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">totalEdge</span><span class="p">,</span><span class="n">bdFlag</span><span class="p">(:)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">);</span>
<span class="n">Neumann</span> <span class="p">=</span> <span class="n">totalEdge</span><span class="p">(</span><span class="n">bdFlag</span><span class="p">(:)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">,:);</span> 
<span class="n">findedge</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">totalEdge</span><span class="p">,</span><span class="n">bdFlag</span><span class="p">(:)</span> <span class="o">==</span> <span class="mi">2</span><span class="p">,</span><span class="s">&#39;MarkerFaceColor&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">);</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
SUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Example:-Crack-Domain">Example: Crack Domain<a class="anchor-link" href="#Example:-Crack-Domain">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[8]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-matlab"><pre><span></span><span class="n">node</span> <span class="p">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">;</span> <span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">;</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">;</span> <span class="mi">0</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">;</span> <span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">;</span> <span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">];</span>        <span class="c">% nodes</span>
<span class="n">elem</span> <span class="p">=</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">;</span> <span class="mi">5</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">;</span> <span class="mi">5</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">;</span> <span class="mi">5</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">6</span><span class="p">];</span>            <span class="c">% elements</span>
<span class="n">elem</span> <span class="p">=</span> <span class="n">label</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span>                        <span class="c">% label the mesh</span>
<span class="n">figure</span><span class="p">;</span>
<span class="n">showmesh</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span>                            <span class="c">% plot mesh</span>
<span class="n">findelem</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span>                            <span class="c">% plot element indices</span>
<span class="n">findnode</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="mi">2</span><span class="p">:</span><span class="mi">6</span><span class="p">);</span>                             <span class="c">% plot node indices</span>
<span class="n">text</span><span class="p">(</span><span class="n">node</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="n">node</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span><span class="o">+</span><span class="mf">0.075</span><span class="p">,</span><span class="n">int2str</span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="s">&#39;FontSize&#39;</span><span class="p">,</span><span class="mi">16</span><span class="p">,</span><span class="s">&#39;FontWeight&#39;</span><span class="p">,</span><span class="s">&#39;bold&#39;</span><span class="p">);</span>
<span class="n">hold</span> <span class="n">on</span><span class="p">;</span>
<span class="n">plot</span><span class="p">([</span><span class="n">node</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="n">node</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">1</span><span class="p">)],</span> <span class="p">[</span><span class="n">node</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">),</span><span class="n">node</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">2</span><span class="p">)],</span><span class="s">&#39;r-&#39;</span><span class="p">,</span> <span class="s">&#39;LineWidth&#39;</span><span class="p">,</span><span class="mi">3</span><span class="p">);</span>
<span class="n">bdFlag</span> <span class="p">=</span> <span class="n">setboundary</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">,</span><span class="s">&#39;Dirichlet&#39;</span><span class="p">);</span>                <span class="c">% Dirichlet boundary condition</span>
<span class="n">display</span><span class="p">(</span><span class="n">elem</span><span class="p">)</span>
<span class="n">display</span><span class="p">(</span><span class="n">bdFlag</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>
elem =

     5     1     2
     5     2     3
     5     3     4
     5     4     6


bdFlag =

    1    0    1
    1    0    0
    1    0    0
    1    1    0

</pre>
</div>
</div>

<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
d2vXrg2FQrNnz25tbV26dGlDQ0N9ff2vf/3rpUuXKhqsFniF5JqaGpk1q/2GSFVJ3dcn9e6PHdjx
0s69u2J//X9/2/dxk4h854azr1r4PQXjhGvmDeNTBnCM/5w06d83bBCRgoKC7du3h0IhEXnjjTfO
O+88EcnPz29ubg70byPF4ZKKirhI+6/lqv+t4SXr2H99vviKi/yhtO0p6WWXXdZ+tRg7dqyzfevW
rapWLB1wyM41ZWXOkbqEdRePkpc+EJEbaqaN+d7pie0PfOf3jZ98KSL/5+nrTx0/3NtRwk28QsKx
Rk2YIJs2iUjSy6B+/fol3QgmguSacFgsS74+9dMWaZ5wqhOkd/68PRGkj7Z84tRIRIZ+M9DvZ/rP
04smX125LvFtpKrkozc/ef/lnSJSOGzAuTd8y9l+IHbwtZVvxo/E83r3uvD27+bxbqJfxKKN42q3
WYnvLatswYJvPPLIJ5988sorr8RisaKiIhHZvXv31q1bRaR///4jR45UNVodECTXWJZs2CCRiNTV
iWXJTTftvu7yPv2PO9R8+K0n3ulX1O+sK775ybaG12vedHYffu43+hUVqB0ycmtLebFdEjqncp0t
kldVYpeGGnZ8sSxix4/E5eOmc3btO/v7Yw82HXrpv1/54khcRMb/6Nvxn/2r6lEjN2LRxqeuW79y
5UpLpG0RmDevt8iPfvSj++67LxaLTZkypbq6Oh6P33nnnc654LNmzcrLC/TTEU5q8I5t2xO/d2F0
x+6Od/UbWDB73YxBp3HlGB9Kupbdpof+8sLddR13O+nMIbc8e+NxBTxH9INEjcLhcNJdX3311dSp
U19++eWk7ZZlvfXWW4WFhR4NUUtcqcE7lmVtfOGV07816sRRgxIbe/XO+/Y1Y2c/T42CovQn5/3g
d1cOHX308Gx+3/zSfzvvlj//kBr5Q5oaicjxxx+/du3am2++ecSIEc6WPn36zJgx48033wx4jYRX
SN6zbXv6zKtLqscd3t/Sp3+fwSOL8vv0Vj0ouKjj1b4dzZ99tXfXvoKBfQePHMTvRPtG+hol2blz
5759+4qLiwN+ke8EnpF5zbKsNY88PX3m1eH7zy8KBf0JUZD1H3I81wrymW7VSEQCfgpDRxyyU8Bp
UmTu5li0UfVYAORGd2uEjgiSGjQJ8BNqlBMESRmaBPgDNcoVgqQSTQJMR41yiCApRpMAc1Gj3CJI
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
dLdJsWjj6h88n5eX19LS4vbYAFMQJCA3Mm+S877RqFGjPv74Y2/GBhiBIAE5k0mTnBpNnz49EokU
FBTMnDnTyxECOiNIQC6lb5JTo1/96lcPPfSQiCxevPicc87xfIyApggSkGNJrkkbUgAAAhRJREFU
TbK+3u7UaNmyZffee++BAweuv/762bNnqxsmoJ181QMAfMhp0h0zr/5Ny16rPioi9qbds/7Ze+XK
lStWrNi+ffsZZ5yxfPly1cME9MIrJMAVlmWt6T3YqZGIWPXRDZb1wQcfPPbYY3379q2trR0wYIDa
EQK6yYvH46rHAPhUXl7ShvIf/OCJJ57o16/f8OHDnS179+79/PPPReSkk04qLCxcvHjx5Zdf7vU4
AT1wyA5wh22n2NjcLCL79+9///33k+7Zs2fPnj17mpqa3B8ZoCmCBLjDsiQclkjk6JZw+NJp0waN
GNF+r7fffvvVV18VkbKysjFjxpx++unejhLQCIfsANfYtsyfLzU1IiLhsGzY0HGXBx54oKqqSkRW
rFjx4x//2NvxAXrhpAbANZYlK1fKzp0Sj6esEYD2CBLgMstSPQLADByyAwBogVdIAAAtECQAgBYI
EgBACwQJAKAFggQA0AJBAgBogSABALRAkAAAWiBIAAAtECQAgBYIEgBACwQJAKAFggQA0AJBAgBo
gSABALRAkAAAWiBIAAAtECQAgBYIEgBACwQJAKAFggQA0AJBAgBogSABALRAkAAAWiBIAAAtECQA
gBYIEgBACwQJAKAFggQA0AJBAgBogSABALRAkAAAWiBIAAAtECQAgBYIEgBACwQJAKAFggQA0AJB
AgBogSABALRAkAAAWvhfMmf7upyH0HQAAAAASUVORK5CYII=
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[9]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-matlab"><pre><span></span><span class="n">bdFlag</span> <span class="p">=</span> <span class="n">setboundary</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">,</span><span class="s">&#39;Dirichlet&#39;</span><span class="p">,</span><span class="s">&#39;abs(x) + abs(y) == 1&#39;</span><span class="p">,</span><span class="s">&#39;Neumann&#39;</span><span class="p">,</span><span class="s">&#39;y==0&#39;</span><span class="p">);</span>
<span class="n">display</span><span class="p">(</span><span class="n">bdFlag</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>
bdFlag =

    1    0    2
    1    0    0
    1    0    0
    1    2    0

</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>The red line represents a crack. Although node 1 and node 6 have the same coordinate (1,0), they are different nodes and used in different triangles. An array <code>u</code> with <code>u(1)~=u(6)</code> represents a discontinous function. Think about a paper cut through the red line.</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Example:-Prism-Domain">Example: Prism Domain<a class="anchor-link" href="#Example:-Prism-Domain">&#182;</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[10]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-matlab"><pre><span></span><span class="n">node</span> <span class="p">=</span> <span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">;</span> <span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">;</span> <span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">;</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">;</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">;</span> <span class="mi">1</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">;</span> <span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">;</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">];</span> 
<span class="n">elem</span> <span class="p">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">7</span><span class="p">;</span> <span class="mi">1</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">7</span><span class="p">;</span> <span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">7</span><span class="p">];</span>
<span class="n">elem</span> <span class="p">=</span> <span class="n">label3</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span>
<span class="n">figure</span><span class="p">;</span>
<span class="n">showmesh3</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span>
<span class="n">view</span><span class="p">([</span><span class="o">-</span><span class="mi">53</span><span class="p">,</span><span class="mi">8</span><span class="p">]);</span>
<span class="n">findnode3</span><span class="p">(</span><span class="n">node</span><span class="p">,[</span><span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">5</span> <span class="mi">6</span> <span class="mi">7</span><span class="p">]);</span>
<span class="n">findelem3</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">);</span>
<span class="n">bdFlag</span> <span class="p">=</span> <span class="n">setboundary3</span><span class="p">(</span><span class="n">node</span><span class="p">,</span><span class="n">elem</span><span class="p">,</span><span class="s">&#39;Dirichlet&#39;</span><span class="p">,</span><span class="s">&#39;(z==1) | (z==-1)&#39;</span><span class="p">);</span>
<span class="n">display</span><span class="p">(</span><span class="n">elem</span><span class="p">)</span>
<span class="n">display</span><span class="p">(</span><span class="n">bdFlag</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>
elem =

     1     7     2     3
     1     7     6     2
     1     7     5     6


bdFlag =

    0    1    0    0
    0    0    0    0
    1    0    0    0

</pre>
</div>
</div>

<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
QmCC
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>The top and bottom of the prism is set as Dirichlet boundary condition and other faces are zero flux boundary condition. Note that if the i-th face of t is on the boundary but <code>bdFlag(t,i)=0</code>, it is equivalent to use homogenous Neumann boundary condition (zero
flux).</p>

</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="Remark">Remark<a class="anchor-link" href="#Remark">&#182;</a></h2><p>It would save storage if we record boundary edges or faces only. The current data structure is convenient for the local refinement and coarsening since the boundary can be easily updated along with the change of elements. The matrix <code>bdFlag</code> is sparse but a dense matrix is used. We do not save <code>bdFlag</code> as a sparse matrix since updating sparse matrices is time consuming. Instead we set up the type of <code>bdFlag</code> to <code>uint8</code> to minimize the waste of memory.</p>

</div>
</div>
</div>
    </div>
  </div>
</body>

 


</html>
